#ifndef _ACTION_PROBE_H
#define _ACTION_PROBE_H

typedef enum {
    PROBE_MODE_STATUS = 0,
    PROBE_MODE_CONTENT = 1,
    PROBE_MODE_STATUS_AND_CONTENT = 2
} action_probe_mode;

typedef enum {
    ACTION_PROBED_SUCCESSFULLY,
    ACTION_PROBED_LOGIN_PAGE,
    ACTION_PROBED_NOTHING,
    ACTION_PROBEING_FAILURE
} action_probe_status;

typedef struct {
    action_probe_status status;
    const char* host;
    const char* search;
} action_probe_result;

void action_probe_result_free(action_probe_result* result);

action_probe_result action_probe(
    const char* bind_interface,
    const char* probe_address,
    action_probe_mode probe_mode,
    const char* probe_content,
    int probe_status
);

#endif
